home *** CD-ROM | disk | FTP | other *** search
/ CD Classic 39 / CD CLASSIC #39 (1998).iso / EMPRESA / visio / Vistdstd / Install / Data.Z / V41objs.H < prev    next >
C/C++ Source or Header  |  1996-09-16  |  7KB  |  184 lines

  1. /* V41OBJS.H - Compatibility Layer file
  2.  * Copyright (C) 1996 Visio Corporation. All rights reserved.
  3.  */
  4.  
  5. #ifndef _v41objs_H
  6. #define _v41objs_H
  7.  
  8. #ifdef VISIO_41_COMPATIBILITY_LAYER
  9.  
  10. //*************************************************************************************
  11.  
  12. //    This is an example of what we want the IFACE_DECL macro to expand to:
  13. //    (Assumes 32-bit or large memory model, i.e. no need for FAR)
  14.  
  15. //    For C:
  16. //        typedef interface IVisioApplication IVisioApplication;
  17. //        typedef IVisioApplication *LPVISIOAPPLICATION;
  18.  
  19. //    For C++:
  20. //        interface IVisioApplication;
  21. //        typedef IVisioApplication *LPVISIOAPPLICATION;
  22.  
  23. //*************************************************************************************
  24.  
  25. #ifndef __cplusplus
  26. //    Must be the "C" compiler, do it the way "C" understands it:
  27. #define IFACE_DECL(name, ptrName)\
  28.     typedef interface name name;\
  29.     typedef name *ptrName;
  30. #endif
  31.  
  32. #ifndef IFACE_DECL
  33. //    Compiling with C++ (probably!), do it the way C++ understands it:
  34. #define IFACE_DECL(name, ptrName)\
  35.     interface name;\
  36.     typedef name *ptrName;
  37. #endif
  38.  
  39. //*************************************************************************************
  40. //    Forward interface declarations
  41. //        for all of the "ivisprox.h" Visio v4.1 OLE-exposed automation objects
  42.  
  43. #ifndef VISIO_LPS_FORWARD_DECLARED
  44. #define VISIO_LPS_FORWARD_DECLARED
  45.  
  46. IFACE_DECL(IVisioApplication, LPVISIOAPPLICATION)
  47. IFACE_DECL(IVisioCell,        LPVISIOCELL)
  48. IFACE_DECL(IVisioChars,       LPVISIOCHARS)
  49. IFACE_DECL(IVisioConnect,     LPVISIOCONNECT)
  50. IFACE_DECL(IVisioConnects,    LPVISIOCONNECTS)
  51. IFACE_DECL(IVisioDocument,    LPVISIODOCUMENT)
  52. IFACE_DECL(IVisioDocuments,   LPVISIODOCUMENTS)
  53. IFACE_DECL(IVisioMaster,      LPVISIOMASTER)
  54. IFACE_DECL(IVisioMasters,     LPVISIOMASTERS)
  55. IFACE_DECL(IVisioPage,        LPVISIOPAGE)
  56. IFACE_DECL(IVisioPages,       LPVISIOPAGES)
  57. IFACE_DECL(IVisioSelection,   LPVISIOSELECTION)
  58. IFACE_DECL(IVisioShape,       LPVISIOSHAPE)
  59. IFACE_DECL(IVisioShapes,      LPVISIOSHAPES)
  60. IFACE_DECL(IVisioStyle,       LPVISIOSTYLE)
  61. IFACE_DECL(IVisioStyles,      LPVISIOSTYLES)
  62. IFACE_DECL(IVisioWindow,      LPVISIOWINDOW)
  63. IFACE_DECL(IVisioWindows,     LPVISIOWINDOWS)
  64. IFACE_DECL(IVisioLayer,       LPVISIOLAYER)
  65. IFACE_DECL(IVisioLayers,      LPVISIOLAYERS)
  66. IFACE_DECL(IVisioFont,        LPVISIOFONT)
  67. IFACE_DECL(IVisioFonts,       LPVISIOFONTS)
  68. IFACE_DECL(IVisioColor,       LPVISIOCOLOR)
  69. IFACE_DECL(IVisioColors,      LPVISIOCOLORS)
  70. IFACE_DECL(IVisioAddon,       LPVISIOADDON)
  71. IFACE_DECL(IVisioAddons,      LPVISIOADDONS)
  72. IFACE_DECL(IVisioEvent,       LPVISIOEVENT)
  73. IFACE_DECL(IVisioEvents,      LPVISIOEVENTS)
  74.  
  75. //*************************************************************************************
  76. //    These are only in the v4.2 header file, but need to be forward declared before
  77. //        including "visio.h" when compiling with the compatibility layer in "C"
  78.  
  79. IFACE_DECL(IVMenuItem,        LPVISIOMENUITEM)
  80. IFACE_DECL(IVMenuItems,       LPVISIOMENUITEMS)
  81. IFACE_DECL(IVMenu,            LPVISIOMENU)
  82. IFACE_DECL(IVMenus,           LPVISIOMENUS)
  83. IFACE_DECL(IVMenuSet,         LPVISIOMENUSET)
  84. IFACE_DECL(IVMenuSets,        LPVISIOMENUSETS)
  85. IFACE_DECL(IVToolbarItem,     LPVISIOTOOLBARITEM)
  86. IFACE_DECL(IVToolbarItems,    LPVISIOTOOLBARITEMS)
  87. IFACE_DECL(IVToolbar,         LPVISIOTOOLBAR)
  88. IFACE_DECL(IVToolbars,        LPVISIOTOOLBARS)
  89. IFACE_DECL(IVToolbarSet,      LPVISIOTOOLBARSET)
  90. IFACE_DECL(IVToolbarSets,     LPVISIOTOOLBARSETS)
  91. IFACE_DECL(IVStatusBarItem,   LPVISIOSTATUSBARITEM)
  92. IFACE_DECL(IVStatusBarItems,  LPVISIOSTATUSBARITEMS)
  93. IFACE_DECL(IVStatusBar,       LPVISIOSTATUSBAR)
  94. IFACE_DECL(IVStatusBars,      LPVISIOSTATUSBARS)
  95. IFACE_DECL(IVAccelItem,       LPVISIOACCELITEM)
  96. IFACE_DECL(IVAccelItems,      LPVISIOACCELITEMS)
  97. IFACE_DECL(IVAccelTable,      LPVISIOACCELTABLE)
  98. IFACE_DECL(IVAccelTables,     LPVISIOACCELTABLES)
  99. IFACE_DECL(IVUIObject,        LPVISIOUIOBJECT)
  100.  
  101. IFACE_DECL(IEnumVMenuItem,      LPVISIOENUMVMENUITEM);
  102. IFACE_DECL(IEnumVMenu,          LPVISIOENUMVMENU);
  103. IFACE_DECL(IEnumVMenuSet,       LPVISIOENUMVMENUSET);
  104. IFACE_DECL(IEnumVToolbarItem,   LPVISIOENUMVTOOLBARITEM);
  105. IFACE_DECL(IEnumVToolbar,       LPVISIOENUMVTOOLBAR);
  106. IFACE_DECL(IEnumVToolbarSet,    LPVISIOENUMVTOOLBARSET);
  107. IFACE_DECL(IEnumVStatusBarItem, LPVISIOENUMVSTATUSBARITEM);
  108. IFACE_DECL(IEnumVStatusBar,     LPVISIOENUMVSTATUSBAR);
  109. IFACE_DECL(IEnumVAccelItem,     LPVISIOENUMVACCELITEM);
  110. IFACE_DECL(IEnumVAccelTable,    LPVISIOENUMVACCELTABLE);
  111.  
  112. #endif    //    VISIO_LPS_FORWARD_DECLARED
  113.  
  114.  
  115. //    The following #define's map new to old names so that we can use
  116. //    visio.h with existing source code which used to compile against
  117. //    "ivisprox.h":
  118.  
  119. #define IVApplication IVisioApplication
  120. #define IVCell IVisioCell
  121. #define IVCharacters IVisioChars
  122. #define IVConnect IVisioConnect
  123. #define IVConnects IVisioConnects
  124. #define IVDocument IVisioDocument
  125. #define IVDocuments IVisioDocuments
  126. #define IVMaster IVisioMaster
  127. #define IVMasters IVisioMasters
  128. #define IVPage IVisioPage
  129. #define IVPages IVisioPages
  130. #define IVSelection IVisioSelection
  131. #define IVShape IVisioShape
  132. #define IVShapes IVisioShapes
  133. #define IVStyle IVisioStyle
  134. #define IVStyles IVisioStyles
  135. #define IVWindow IVisioWindow
  136. #define IVWindows IVisioWindows
  137. #define IVLayer IVisioLayer
  138. #define IVLayers IVisioLayers
  139. #define IVFont IVisioFont
  140. #define IVFonts IVisioFonts
  141. #define IVColor IVisioColor
  142. #define IVColors IVisioColors
  143. #define IVAddon IVisioAddon
  144. #define IVAddons IVisioAddons
  145. #define IVEvent IVisioEvent
  146. #define IVEventList IVisioEvents
  147.  
  148. //    And the IID's...
  149.  
  150. #define IID_IVApplication IID_IVisioApplication
  151. #define IID_IVCell IID_IVisioCell
  152. #define IID_IVCharacters IID_IVisioChars
  153. #define IID_IVConnect IID_IVisioConnect
  154. #define IID_IVConnects IID_IVisioConnects
  155. #define IID_IVDocument IID_IVisioDocument
  156. #define IID_IVDocuments IID_IVisioDocuments
  157. #define IID_IVMaster IID_IVisioMaster
  158. #define IID_IVMasters IID_IVisioMasters
  159. #define IID_IVPage IID_IVisioPage
  160. #define IID_IVPages IID_IVisioPages
  161. #define IID_IVSelection IID_IVisioSelection
  162. #define IID_IVShape IID_IVisioShape
  163. #define IID_IVShapes IID_IVisioShapes
  164. #define IID_IVStyle IID_IVisioStyle
  165. #define IID_IVStyles IID_IVisioStyles
  166. #define IID_IVWindow IID_IVisioWindow
  167. #define IID_IVWindows IID_IVisioWindows
  168. #define IID_IVLayer IID_IVisioLayer
  169. #define IID_IVLayers IID_IVisioLayers
  170. #define IID_IVFont IID_IVisioFont
  171. #define IID_IVFonts IID_IVisioFonts
  172. #define IID_IVColor IID_IVisioColor
  173. #define IID_IVColors IID_IVisioColors
  174. #define IID_IVAddon IID_IVisioAddon
  175. #define IID_IVAddons IID_IVisioAddons
  176. #define IID_IVEvent IID_IVisioEvent
  177. #define IID_IVEventList IID_IVisioEvents
  178.  
  179. //*************************************************************************************
  180.  
  181. #endif    //    VISIO_41_COMPATIBILITY_LAYER
  182.  
  183. #endif    //    _v41objs_H
  184.